package leetcode101.data_structure;

/**
 * @author Synhard
 * @version 1.0
 * @class Code26
 * @description 263. 丑数
 * 给你一个整数 n ，请你判断 n 是否为 丑数 。如果是，返回 true ；否则，返回 false 。
 *
 * 丑数 就是只包含质因数 2、3 和/或 5 的正整数。
 *
 *  
 *
 * 示例 1：
 *
 * 输入：n = 6
 * 输出：true
 * 解释：6 = 2 × 3
 * 示例 2：
 *
 * 输入：n = 8
 * 输出：true
 * 解释：8 = 2 × 2 × 2
 * 示例 3：
 *
 * 输入：n = 14
 * 输出：false
 * 解释：14 不是丑数，因为它包含了另外一个质因数 7 。
 * 示例 4：
 *
 * 输入：n = 1
 * 输出：true
 * 解释：1 通常被视为丑数。0 不是丑数
 *
 * @tel 13001321080
 * @email 823436512@qq.com
 * @date 2021-05-18 8:37
 */
public class Code26 {
    public static void main(String[] args) {
        System.out.println(isUgly(7));
    }
    public static boolean isUgly(int n) {
        if (n == 0) {
            return false;
        }
        if (n == 1) {
            return true;
        }
        while (n != 1) {
            if (n % 2 == 0) {
                n /= 2;
                continue;
            }
            else if (n % 3 == 0) {
                n /= 3;
                continue;
            } else if (n % 5 == 0) {
                n /= 5;
                continue;
            }
            return false;
        }
        return true;
    }
}
